package thread;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: wx
 * Date: 2023-12-15
 * Time: 19:25
 */
/*
线程的状态可以分成 就绪 和 阻塞 两种状态
1) 就绪: 这个线程随时可以去 cpu 上执行.
2) 阻塞: 这个线程暂时不方便去 cpu 上去执行.
        java 中,针对阻塞状态又做了一部分的细分.

   java 中,线程有以下几种状态:
     1. NEW Thread 对象创建好了,但是还没有调用 start 方法在系统中创建线程,
     2. TERMINATED Thread 对象任然存在,但是系统内部的线程已经执行完毕
     3. RUNNABLE 就绪状态.表示这个线程正在 cpu 上执行,或者准备就绪随时可以去 cpu 上执行
     4. TIMED_WAITING 指定时间的阻塞.就在到达一定时间之后自动解除阻塞
           使用 sleep 会进入这个状态.使用带有超过时间的 join 方法
     5. WAITING 不带时间的阻塞(死等),必须要满足一定的条件,才会解除阻塞
           join 或者 wait 都会进入 WAITING
     6. BLOCKED 由于锁竞争,引起的阻塞

*/
public class ThreadDemo16 {
    public static void main(String[] args) {
        Thread t1 = new Thread(() ->{
           Thread t = Thread.currentThread();
            System.out.println(t.getName());
        });

        Thread t2 = new Thread(() ->{
            Thread t = Thread.currentThread();
            System.out.println(t.getName());
        });

        t1.start();
        t2.start();
    }

}
